package com.novabluetooth.views.twj;//package com.novabluetooth.views.twj;
//
//import android.bluetooth.BluetoothGatt;
//import android.os.Bundle;
//import android.os.Handler;
//import android.util.Log;
//import android.view.View;
//import android.widget.TextView;
//
//import androidx.appcompat.app.AppCompatActivity;
//
//import com.clj.fastble.BleManager;
//import com.clj.fastble.callback.BleGattCallback;
//import com.clj.fastble.callback.BleNotifyCallback;
//import com.clj.fastble.callback.BleScanCallback;
//import com.clj.fastble.callback.BleWriteCallback;
//import com.clj.fastble.data.BleDevice;
//import com.clj.fastble.exception.BleException;
//import com.clj.fastble.scan.BleScanRuleConfig;
//import com.example.myapplication.R;
//
//import java.util.Arrays;
//import java.util.List;
//
///**
// * 红外体温计
// */
//public class TwjActivity extends AppCompatActivity {
//
//    private static final String TAG = "TwjActivity";
//
//    public static String GATT_SERVICE_PRIMARY = "00001000-0000-1000-8000-00805f9b34fb";
//    public static String CHARACTERISTIC_WRITEABLE = "00001001-0000-1000-8000-00805f9b34fb";
//    public static String CHARACTERISTIC_READABLE = "00001002-0000-1000-8000-00805f9b34fb";
//
//    public static String GATT_SERVICE_PRIMARYNEW1 = "0000ffb0-0000-1000-8000-00805f9b34fb";
//    public static String CHARACTERISTIC_WRITEABLENEW1 = "0000ffb1-0000-1000-8000-00805f9b34fb";
//    public static String CHARACTERISTIC_READABLENEW1 = "0000ffb2-0000-1000-8000-00805f9b34fb";
//    private TextView tv_content;
//
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//
//        BleManager.getInstance().init(getApplication());
//
//        setContentView(R.layout.activity_twj);
//        tv_content = findViewById(R.id.tv_content);
//
//        findViewById(R.id.bt_conn).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//
//                sacnBle();
//            }
//        });
//    }
//
//    private void sacnBle() {
//        BleScanRuleConfig scanRuleConfig = new BleScanRuleConfig.Builder()
//                .setDeviceName(true,"Bioland-IT")
//                .setAutoConnect(true)
//                .setScanTimeOut(10000)
//                .build();
//        BleManager.getInstance().initScanRule(scanRuleConfig);
//        BleManager.getInstance().scan(new BleScanCallback() {
//            @Override
//            public void onScanFinished(List<BleDevice> scanResultList) {
//                Log.e(TAG,"*********开始结束**************");
//            }
//
//            @Override
//            public void onScanStarted(boolean success) {
//                Log.e(TAG,"*********开始扫描**************");
//            }
//
//            @Override
//            public void onScanning(BleDevice bleDevice) {
//                Log.e(TAG,"*********onScanning**************");
//                connectionBle(bleDevice);
//            }
//        });
//    }
//
//    private void connectionBle(final BleDevice bleDevice) {
//        BleManager.getInstance().connect(bleDevice, new BleGattCallback() {
//            @Override
//            public void onStartConnect() {
//                Log.e(TAG,"*********开始连接**************");
//            }
//
//            @Override
//            public void onConnectFail(BleDevice bleDevice, BleException exception) {
//                Log.e(TAG,"*********连接失败**************");
//            }
//
//            @Override
//            public void onConnectSuccess(BleDevice bledevic, BluetoothGatt gatt, int status) {
//                Log.e(TAG,"*********连接成功**************");
//                // 连接成功，BleDevice即为所连接的BLE设备（主线程）
//                new Handler().postDelayed(new Runnable() {
//                    @Override
//                    public void run() {
//                        //发送00信息
//                        byte[] data_00 = ZHexUtil.hexStringToBytes(ZHexUtil.getSendHex(0));
//                        bleWrite(data_00,bleDevice,GATT_SERVICE_PRIMARY,CHARACTERISTIC_WRITEABLE);
//                        bleNotify(bleDevice,GATT_SERVICE_PRIMARY,CHARACTERISTIC_READABLE);
//                    }
//                },200);
//            }
//
//            @Override
//            public void onDisConnected(boolean isActiveDisConnected, BleDevice device, BluetoothGatt gatt, int status) {
//                Log.e(TAG,"*********连接中断**************");
//
//            }
//        });
//
//    }
//
//    private void bleWrite(final byte[] data, final BleDevice bleDevice, final String uuid_service,
//                          String uuid_characteristic_write) {
//        BleManager.getInstance().write(
//                bleDevice,
//                uuid_service,
//                uuid_characteristic_write,
//                data,
//                new BleWriteCallback() {
//                    @Override
//                    public void onWriteSuccess(int current, int total, byte[] justWrite) {
//                        // 发送数据到设备成功
//                        Log.e(TAG, "写入数据成功:" + Arrays.toString(data) );
//                    }
//                    @Override
//                    public void onWriteFailure(BleException exception) {
//                        // 发送数据到设备失败
//                        Log.e(TAG, "写入数据失败:" + Arrays.toString(data) );
//                    }
//                });
//    }
//
//    /**
//     * 订阅接受广播通知
//     */
//    private void bleNotify(BleDevice bleDevice, String uuid_service, String uuid_characteristic_notify) {
//        BleManager.getInstance().notify(
//                bleDevice,
//                uuid_service,
//                uuid_characteristic_notify,
//                new BleNotifyCallback() {
//                    @Override
//                    public void onNotifySuccess() {
//                        // 打开通知操作成功
//                    }
//                    @Override
//                    public void onNotifyFailure(BleException exception) {
//                        // 打开通知操作失败
//                    }
//                    @Override
//                    public void onCharacteristicChanged(final byte[] data) {
//                        // 打开通知后，设备发过来的数据将在这里出现
//                        Log.e(TAG, "onCharacteristicChanged: " + "收到data==" + Arrays.toString(data)  );
//                        showContent(data);
//                    }
//                });
//    }
//
//    private void showContent(byte[] data) {
//        if (null == data) return;
//        byte index0 = data[0];
//        if (index0 != 85) return;
//        byte index2 = data[2];
//        if (index2 == 3) {//Device upload results
//            byte index3 = data[3];//Year
//            byte index4 = data[4];//Month
//            byte index5 = data[5];//Day
//            byte index6 = data[6];//Hour
//            byte index7 = data[7];//Minute
//            byte[] valueArr = {data[10], data[9]};
//            //10+9 Convert to decimal,And then  divide by 100,get the temperature
//            String strValue = ZHexUtil.encodeHexStr(valueArr);
//            int value = Integer.valueOf(strValue, 16);
//            Log.e("zdw", "value --" + value);
//            //跟体温计结果显示保持一致：丢弃小数点后第二位
//            String valueStr = StringUtil.formatTo1ROUNDDOWN((double) value / 100);
//            String str = String.format(" 温度值:%s℃", valueStr);
//            tv_content.setText(str);
////            refreshResultView(str);
//        } else if (index2 == 5) {
////            tvContent.append("\n" + getString(R.string.receive_finish));
//        }
//    }
//
//
//}
